package fast.loader;
import java.util.HashMap;

import fast.data.Stat;



public class SocketBonusDB {
	
	HashMap<Integer,SocketBonus> db = new HashMap<Integer,SocketBonus>();
	
	public SocketBonusDB(){
		populateEnchantDB();
	}
	
	private void populateEnchantDB() {
		db.put(4128, new SocketBonus(Stat.hst, 30));	// 30 haste
		db.put(4133, new SocketBonus(Stat.agi, 20));	// 20 agi
		db.put(2782, new SocketBonus(Stat.agi, 10));	// 10 agi
		db.put(4146, new SocketBonus(Stat.hst, 10));	// 10 haste
		db.put(4145, new SocketBonus(Stat.agi, 30));	// 30 agi
		db.put(4153, new SocketBonus(Stat.cri, 30));	// 30 cri
		db.put(4140, new SocketBonus(Stat.hst, 20));	// 20 haste
		db.put(4160, new SocketBonus(Stat.hit, 10));// 10 hit
		db.put(4123, new SocketBonus(Stat.mst, 10));// 10 mastery
		db.put(4211, new SocketBonus(Stat.hst, 10));// 10 haste
		db.put(4151, new SocketBonus(Stat.cri, 10));// 10 crit
		db.put(4137, new SocketBonus(Stat.mst, 20));// 20 mastery
		db.put(4130, new SocketBonus(Stat.cri, 20));// 20 crit
		
		// exp
		db.put(4163, new SocketBonus(Stat.exp, 10)); // 10 exp
		db.put(4164, new SocketBonus(Stat.exp, 10)); // 10 exp
		
		// PvP
		db.put(4184, new SocketBonus(Stat.res, 10)); // 10 resi
		db.put(4185, new SocketBonus(Stat.res, 20)); // 20 resi
		db.put(4186, new SocketBonus(Stat.res, 30)); // 30 resi
		
		// Sta
		db.put(4154, new SocketBonus(Stat.sta, 15)); // 15 sta
		db.put(4134, new SocketBonus(Stat.sta, 30)); // 30 sta
		db.put(4159, new SocketBonus(Stat.sta, 45)); // 45 sta
		
		// Int
		db.put(4143, new SocketBonus(Stat.intt, 10)); // 10 int
		db.put(4144, new SocketBonus(Stat.intt, 20)); // 20 int
		db.put(4149, new SocketBonus(Stat.intt, 20)); // 20 int
		db.put(4150, new SocketBonus(Stat.intt, 30)); // 30 int
		
		// str
		db.put(4135, new SocketBonus(Stat.str, 10)); // 10 str
		db.put(4136, new SocketBonus(Stat.str, 20)); // 20 str
		db.put(4158, new SocketBonus(Stat.str, 30)); // 30 str
		
		//// MOP
		db.put(4833, new SocketBonus(Stat.cri, 60)); // 60 crit
		db.put(4837, new SocketBonus(Stat.exp, 60)); // 60 exp
		db.put(4836, new SocketBonus(Stat.hst, 60)); // 60 haste
		db.put(4827, new SocketBonus(Stat.agi, 60)); // 60 agi
		db.put(4834, new SocketBonus(Stat.mst, 60)); // 60 mastery
		db.put(4828, new SocketBonus(Stat.agi, 120)); // 120 agi
		db.put(4829, new SocketBonus(Stat.agi, 180)); // 180 agi
		db.put(4849, new SocketBonus(Stat.mst, 120)); // 120 mastery
		db.put(4845, new SocketBonus(Stat.exp, 120)); // 120 exp
		db.put(4832, new SocketBonus(Stat.sta, 90)); // 90 stamina
		db.put(4867, new SocketBonus(Stat.sta, 270)); // 270 stamina
		db.put(4838, new SocketBonus(Stat.spi, 60));
		db.put(4831, new SocketBonus(Stat.intt, 60));
		db.put(4848, new SocketBonus(Stat.intt, 120));
		db.put(4860, new SocketBonus(Stat.intt, 180));
		db.put(4835, new SocketBonus(Stat.hit, 60));
		db.put(4846, new SocketBonus(Stat.hst, 120));
		db.put(4855, new SocketBonus(Stat.cri, 180));
		db.put(4844, new SocketBonus(Stat.dodge, 120));
		db.put(4856, new SocketBonus(Stat.dodge, 180));
		db.put(4861, new SocketBonus(Stat.mst, 180));
		
		// mop pvp
		db.put(4842, new SocketBonus(Stat.res, 60)); // 60 pvp defense
		db.put(4851, new SocketBonus(Stat.res, 120)); // 120 pvp defense
		db.put(4865, new SocketBonus(Stat.res, 180)); // 180 pvp defense
		db.put(4863, new SocketBonus(Stat.pvppower, 180)); // 180 pvp power
	}
	
	public SocketBonus getSocketBonus(int id){
		if(db.containsKey(id)){
			return db.get(id);
		}
		System.out.println("unknown socketbonusid: "+  id);
		return null;
	}
}

